import WebSocket from 'ws';

const wss = new WebSocket.Server({ port: Number(process.env.NODE_WEBSOCKET_PORT) });

enum EMessageMode {
    heart = 'heart',
    msg = 'message'
}

wss.on('connection', (ws) => {
    ws.on('message', (data: string) => {
        const { mode, message } = JSON.parse(data.toString()) as { mode: EMessageMode, message?: string }
        switch (mode){
            case EMessageMode.heart:
                ws.send(JSON.stringify({ mode: EMessageMode.heart, message: { state: true } }))
                break
            case EMessageMode.msg:
                ws.send(JSON.stringify({ mode: EMessageMode.msg, message: { state: true, data: message } }))
                break
        }
    })
    ws.on('error', () => {
        console.log('异常')
    })

    ws.on('close', () => {
        console.log('关闭')
    })
})

